#ifndef __BUTTON_H__
#define __BUTTON_H__

#include <Metgine/UI/Widget.h>

namespace Metgine
{
namespace UI
{

enum State
{
    Up,
    Hover,
    Down
};

class METGINE_API Button : public Widget
{
public:
    // Constructors
    Button(const std::string& name);

    State GetButtonState() const;

    void SetButtonSize(int width, int height);

    const sf::Vector2i& GetButtonSize() const;

    void Render();

protected:

    void OnClick();
    void OnMouseEnter();
    void OnMouseLeave();

    State                      m_state;
    sf::Vector2i               m_buttonSize;
    int                        m_clickEvent;
private:
};

}; // UI
}; // Metgine


#endif // __BUTTON_H__
